# config.py
import os


class Config:
    # --- SQL 数据库配置 ---
    # 使用 SQLite 数据库，文件名为 'app.db'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(os.path.abspath(os.path.dirname(__file__)), 'app.db')
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # --- JWT 认证配置 ---
    # MODIFIED: 确保密钥是字节串（b'...'），避免编码问题
    SECRET_KEY = b'a_very_secret_key_for_jwt_and_session' #os.environ.get('SECRET_KEY') or

    # --- 统一错误码定义 ---
    ERROR_CODES = {
        # 4xxxx: 客户端错误 (Client Errors)
        40001: "用户名或密码错误",
        40002: "Token 无效或已过期，请重新登录",
        40003: "必填参数缺失或格式错误",
        40004: "用户已存在",
        40005: "口算会话已过期或不存在",

        # 5xxxx: 服务端错误 (Server Errors)
        50001: "数据库操作失败",
        50002: "题目生成逻辑发生错误",
        50099: "未知服务端错误"
    }

    # --- 业务常量 ---
    DAILY_QUIZ_COUNT = 30  # 每天的口算题量